<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        //赋值 运算符
        var h = 10;
        var i = 5;
        console.log(h);//10
        h += 5;//h = h+5
        console.log(h);//15
        i -= 10;//i = i - 10
        console.log(i); // -5

        // 关系运算符  < > <= >=
        var m = 10;
        var n = 5;
        console.log(m >= n, n >= m, n >= 3);// true false true

        // ==    内部有数据类型隐形转换   只要数字大小相等就行
        // ===   没有数据类型转换	数字大小和数据类型都相等才行，(真等于 全等于 恒等于)
        console.log(5 == '5');//true
        console.log(5 === '5');// false

        // !=   !==
        console.log(5 != '5');//false
        console.log(5 !== '5');//true

        //特殊情况   '4' > 5     '4' > '11'
        console.log('4' > 5);//false   // 一边字符串，一边数字，会有隐形转换，数字进行比较。
        console.log('4' > '11');//true  // ASCII 进行比较
        //            52  53

        // 字母比较  转ASCII码 进行比较。
        console.log('hello' === 'world');// false
        console.log('hello' > 'world');// false
        var o;
        console.log(typeof o === 'undefined');// true

        // undefined  null  Nan
        // undefined  不会进行数据转换
        console.log(undefined == 0, undefined > 1, undefined < 1);//false false false
        console.log(null == 0);// false   不会转0    死记
        console.log(null < 1);// true  0 < 1   转0    死记

        console.log(null == undefined);// true  死记
        console.log(NaN == NaN);//false  死记  NaN和谁都不等
    </script>
</body>

</html>